#ifndef RANDOMUTILS_H_
#define RANDOMUTILS_H_

#include "Assert.h"

#include <cstdlib>

class RandomUtils {
public:
	static void updateSequance();
	template<typename T> static T generateRandomObject(const T objects[],
		const int & objectsCount) {
		ASSERT(objects != static_cast<const T *> (0));
		ASSERT(objectsCount > 0);
		int randomObjectIndex = rand() % objectsCount;
		return objects[randomObjectIndex];
	}
private:
	static unsigned int seed;
};

#endif /* RANDOMUTILS_H_ */
